Systems for replicating resources are becoming increasingly important to ensure availability and fault tolerance in large networks. Corporate networks that replicate files containing domain credentials and policies are one example where availability, scalability, consistency, and reliability are needed. Creating a flexible resource replication system that allows various replication behaviors, however, is challenging.